/**
 * @author zhaoren
 * @version 1.0
 * @description 外观类。这个是由客户端直接使用的类，外观类里面封装了客户端间接要调用的类的方法的组合
 * @date 2020/7/31 9:35
 **/
public class Facade {

    private SubSystemOne subSystemOne;
    private SubSystemTwo subSystemTwo;
    private SubSystemThree subSystemThree;

    public Facade(){
        subSystemOne = new SubSystemOne();
        subSystemTwo = new SubSystemTwo();
        subSystemThree = new SubSystemThree();
    }


    /**
     * 交由客户端调用的方法，真实要调用的方法已经有外观类组合封装好
     */
    public void MethodA(){
        subSystemOne.method1();
        subSystemThree.method3();
        subSystemTwo.method2();
    }


    public void MethodB(){
        subSystemOne.method1();
        subSystemTwo.method2();
        subSystemThree.method3();
    }

}
